#ifndef CFDPOSTMENU_H
#define CFDPOSTMENU_H

#include "CFDPostUIAPI.h"

class SARibbonCategory;
class MainWindow;

namespace GUI {
    class MainWindow;
    class ToolBarColorMapper;
    class ToolBarAnimation;
    class ToolBarEvent;
    class ToolBarFilter;
    class ToolBarVisualAngle;
    class ToolBarFileGeneral;


    // class
    class CFDPostUIAPI CFDPostMenu : QObject {
        Q_OBJECT
      public:
        CFDPostMenu(SARibbonCategory*);
        GUI::ToolBarVisualAngle* getToolBarVisualAngle();
        GUI::ToolBarFileGeneral* getToolBarFileGeneral();
        GUI::ToolBarColorMapper* getToolBarColorMapper();
        GUI::ToolBarAnimation* getToolBarAnimation();
        GUI::ToolBarFilter* getToolBarFilter();
        GUI::ToolBarEvent* getToolBarEvent();
      public:
        void initAction(GUI::MainWindow* mainWindow);
      private:
        SARibbonCategory* m_pSARCategory;
        GUI::ToolBarVisualAngle* m_pVisualAngelToolBar = nullptr;
        GUI::ToolBarFileGeneral* m_pFileGeneralToolBar = nullptr;
        /**
         * @brief  颜色设置工具条
         * @author BaGuijun (baguijun@163.com)
         * @date   2024-09-13
         */
        GUI::ToolBarColorMapper* _colorMapToolBar = nullptr;
        /**
         * @brief  动画工具条
         * @author BaGuijun (baguijun@163.com)
         * @date   2024-09-13
         */
        GUI::ToolBarAnimation* _animationToolBar = nullptr;
        /**
         * @brief  过滤器工具条
         * @author BaGuijun (baguijun@163.com)
         * @date   2024-09-13
         */
        GUI::ToolBarFilter* _filterBar = nullptr;
        /**
         * @brief  事件工具条
         * @author BaGuijun (baguijun@163.com)
         * @date   2024-10-14
         */
        GUI::ToolBarEvent* _filterEvent = nullptr;
    };
}
#endif // CFDPOSTMENU_H
